package com.cg.asm.body.service.user;

import com.cg.asm.body.domain.vo.user.UserGroupRoleVO;
import com.cg.asm.body.domain.vo.user.UserGroupVO;
import com.cg.asm.client.exception.MybatisExample;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IUserGroupService {

    /**
     * 查询用户分组列表信息（分页）
     *
     * @param mybatisExample
     * @return
     */
    PageInfo<UserGroupVO> selectByUserGroup(MybatisExample mybatisExample);

    /**
     * 获取用户分组数据集
     * @return
     */
    List<UserGroupVO> getUserGroupList();

    /**
     * 保存用户分组
     * @param userGroupName
     */
    void saveUserGroup(String userGroupName);

    /**
     * 更新用户分组信息
     * @param userGroupId
     * @param userGroupName
     */
    void updateUserGroup(String userGroupId, String userGroupName);

    /**
     * 根据用户分组Id删除分组信息
     * @param userGroupId
     */
    void delUserGroup(String userGroupId);

    /**
     * 保存选择的用户分组角色
     * @param userGroupRoleVO
     */
    void saveUserGroupRole(UserGroupRoleVO userGroupRoleVO);

    /**
     * 根据用户分组编码查询角色信息
     * @param userGroupId
     * @return
     */
    List<String> roleByUserGroup(String userGroupId);
}
